Skip to main content

10 Binary Relation II

这篇笔记包括lecture15、16,继续介绍关系的相关内容。

相容关系和覆盖

覆盖

集合的覆盖(cover)指将集合分为非空的子集,每个元素至少属于一个子集。划分一定是覆盖,但覆盖不一定是划分。对于集合 AA ,满足下面条件的集合 CC 为覆盖:

  • C\varnothing \notin C
  • (x)(xCxA)(\forall x)(x \in C \rightarrow x \subseteq A)
  • C=A\cap C = A

覆盖的定义只是去除了划分的最后一条要求(子集不相交)。类似地,覆盖也可以定义关系 R={<a,b>(C0)(C0CaC0bC0)}R = \{<a,b>|(\exist C_0)(C_0 \in C \land a \in C_0 \land b \in C_0)\} 。覆盖有自反性和对称性,但是没有传递性。

相容关系

相容关系(compatible relation)指具有自反性和对称性的关系。对于集合 AA 和相容关系 RR ,如果有 CAC={x(xA)(y)((yC)xRy)}C \subseteq A \land C = \{x|(x \in A) \land (\forall y)((y \in C) \rightarrow xRy)\} ,则 CC 是相容类(compatible class)。如果 CC 不是任何相容类的真子集,则 CC 是极大相容类(maximum compatible class),记作 CRC_R

对于 AA 上的任意相容类 CC ,都存在最大相容类 CRC_R 使得 CCRC \subseteq C_R 。可以计算出一个序列 C0C1...CRC_0 \subseteq C_1 \subseteq ...\subseteq C_R

  • C0=CC_0 = C
  • Ci+1=CiajC_{i + 1} = C_i \cup {a_j}jj 是满足 ajCj(xCiajRx)a_j \notin C_j \land (x \in C_i \rightarrow a_jRx) 的最小下标

对于 AA 上的相容关系 RR ,所有最大相容类的集合是 AA 的覆盖,称作完全覆盖(complete cover),记为 CR(A)C_R(A) 。只有一个相容覆盖。相容关系可以产生完全覆盖,覆盖可以产生相容关系。不同的覆盖可以产生相同的相容关系。

偏序关系

偏序关系和拟序关系

如果 (a)(b)((aAbAaRbbRa)a=b)(\forall a)(\forall b)((a \in A \land b \in A \land aRb \land bRa) \rightarrow a = b) ,则 AA 上的关系 RR 是反对称的(antisymmetric)。

自反的、反对称的、传递的关系是偏序关系(partial-order relation)。有偏序关系 RR 的集合 AA 称为偏序集(partially ordered set或poset),记作 <A,R><A,R>

如果 (a)(aAaRa)(\forall a)(a \in A \rightarrow a\cancel{R}a) ,则关系 RR 是非自反的(anti-relfexivity)。

非自反的、传递的关系称作拟序关系(quasi-order relation或strict order relation)。拟序关系是反对称的。

对于拟序关系 RRRR0R \cup R_0 是偏序关系。对于偏序关系 RRRR0R - R_0 是拟序关系。

哈斯图

对于拟序集,以 <A,><A, \le> 为例。如果 x,yAxyxyx, y \in A,x \not = y,x \le y ,并且不存在 zz 使得 xzzyx \le z \land z \le y ,则称 yy 盖住(covers) xx 。称 AA 上的关系 R={<x,y>xAyA(ycoversx)}R = \{<x,y>|x \in A \land y \in A \land (y covers x)\}AA 上的盖住关系,记为 cov(A)cov(A)

AA 中的所有元素画成点,对于盖住关系中的元素 <a,b><a,b> ,在 aabb 间连一条有向边。所有有向边指向一个方向,可以以此确定递增方向,将有向边改为无向边。这个图称为哈斯图(hasse diagram)。

例如,下面是 A={1,2,3,4,6,12}A = \{1,2,3,4,6,12\} 上整除关系的哈斯图。

hasse diagram

利用拟序关系和偏序关系的性质,可以将它们的关系图简化为哈斯图。

上确界和下确界

对于偏序集 <A,><A,\le>BAB \subseteq A ,如果存在 yBy \in B 使得 (xB)(xy)(\forall x \in B)(x \le y) ,称 yyBB 的最大元(maximum element)。如果存在 yBy \in B 使得如果 yxy \le x ,有 x=yx = y ,则称 yyBB 的极大元(maximal element)。类似地,如果 xB(y)(yBxy)x \in B \land (\forall y)(y \in B \rightarrow x \le y)xxBB 的最小元(minimum element)。如果 xB(y)((yByx)x=y)x \in B \land (\forall y)((y \in B \land y \le x) \rightarrow x = y)xxBB 的极小元(minimal element)。

对于偏序集 <A,><A,\le>BAB \subseteq A ,如果 yA(x)(xBxy)y \in A \land (\forall x)(x \in B \rightarrow x \le y) ,则 yyBB 的上界(upper bound)。让所有上界构成集合 CC ,则 CC 中的最小元是 BB 的上确界(supremum)。如果 xA(y)(yBxy)x \in A \land (\forall y)(y \in B \rightarrow x \le y)xxBB 的下界(lower bound)。同样,下界集合 CC 中的最大元是 BB 的下确界(infimum)。

上界和下界不一定存在,也可能不止一个。上确界和下确界要么不存在,要么只有一个。

全序关系和链

在偏序集 <A,><A, \le> 中,对于 xAx \in AyAy \in A ,如果有 xyx \le yyxy \le x ,则 xxyy 是可比的(comparable)。如果对于任何 xxyy ,都有 xxyy 是可比的,则称 \leAA 上的全序关系(或线序关系,total order relation), <A,><A, \le>AA 上的全序集。

如果 BB 中的任何 xxyy 都是可比的,则 BBAA 上的链(chain), B|B| 是链的长度。如果任何 xxyy 都是不可比的,则 BBAA 上的反链(anti-chain), B|B| 是反链的长度。

偏序集可以被分成不相交的反链。如果链的最大长度为 nn ,则将偏序集分割时,反链的个数最少为 nn 。因为最长链中的 nn 个元素必须分在 nn 个不同的反链中。此外,对偏序集 <A,><A, \le> ,若 AA 中元素为 mn+1mn + 1 ,则 AA 中或者存在一条长度为 m+1m + 1 的反链,或者存在一条长度为 n+1n + 1 的链。

良序关系

对于偏序集 <A,><A, \le> ,如果任何非空子集 AA 都有最小元,则 \le 是良序关系(well order relation), <A,><A, \le> 是良序集(well order set)。

良序集是全序集。有限全序集是良序集。

闭包

闭包的定义

对于非空集合 AA 上的关系 RR ,如果有另一个关系 RR^{'} 满足 RR^{'} 自反、 RR^{'}RR 的子集,且对于任何 AA 上的自反关系 RR^{''} 都有 RRRRR \subseteq R^{''} \rightarrow R^{'} \subseteq R^{''} ,称 RR^{'}RR 的自反闭包(reflexive closure),记作 r(R)r(R) 。类似地,有对称闭包(symmetric closure)和传递闭包(transitive closure)的定义,分别记作 s(R)s(R)t(R)t(R)

对于关系 RR ,有 R是自反的r(R)=RR是自反的 \Leftrightarrow r(R) = RR是对称的s(R)=RR是对称的 \Leftrightarrow s(R) = RR是传递的t(R)R是传递的 \Leftrightarrow t(R)

闭包的构造与性质

对于非空集合 AA 上的关系 RRr(R)=RR0r(R) = R \cup R_0s(R)=RR1s(R) = R \cup R_{-1} 。令 A=n|A| = nt(R)=RR1...Rnt(R) = R \cup R_1 \cup ... \cup R_n

<a,b>Rn<a, b> \in R^n 等价于有一条长度为 nn 的从 aabb 的路径。 RR 的连接关系 R+=RR2...R^+ = R \cup R^2 \cup ... ,但通常只需要考虑连接到 RnR^n 的情况,即 R+=R1R2...RnR^+ = R^1 \cup R^2 \cup ... \cup R^n

可以用warshall算法来计算传递闭包。

如果 RR 是自反的,则 s(R)s(R)t(R)t(R) 是自反的。如果 RR 是对称的,则 r(R)r(R)t(R)t(R) 是对称的。如果 RR 是传递的,则 r(R)r(R) 是传递的,但 s(R)s(R) 不一定是传递的。

rs(R)rs(R) 代表 r(s(R))r(s(R)) ,其它类似。有 rs(R)=sr(R)rs(R) = sr(R)rt(R)=tr(R)rt(R) = tr(R)st(R)ts(R)st(R) \subseteq ts(R)